package com.ck.service;

import java.util.List;
import java.util.Map;

import com.ck.domain.Exam;
import com.ck.domain.ExamBanji;
import com.ck.domain.Paper;
import com.ck.domain.StudentExam;
import com.ck.domain.StudentPaper;

public interface ExamService {

	public List<Exam> gainUnstartExamList();
	public List<Exam> gainOnGoingExamList();
	public List<Exam> gainFinishedExamList();
	public List<ExamBanji> gainBanjiListForExam(Integer exam);
	public Exam gainExam(Integer id);
	public Exam gainUnstartExam(Integer id);
	public boolean addNewExam(Exam exam, String[] banji_array, Map model);
	public boolean editUnstartExamInfo(Exam exam, Map model);
	public boolean editUnstartExamBanji(Integer examID, String[] banji_array, Map model);
	
	public boolean makeUpPaper(Paper paper, Integer examID, 
			Integer[] chapterArray, Integer[] percerntArray, Map model);
	public Paper gainPaper(Integer examID);

	public Integer checkPanduan(Integer panduanID, String panduan_answer_str, Integer studentID, Integer paperID);
	public Integer checkXuanze(Integer xuanzeID, String xuanze_answer, Integer studentID, Integer paperID);
	public Integer checkTiankong(Integer tiankongID, String tiankong_answer, Integer studentID, Integer paperID);
	
	public boolean addNewStudentPaper(StudentPaper studentPaper);
	public boolean editStudentExamForHandInPaper(StudentExam studentExam);
	
	public List<StudentExam> gainUnfinishedStudentExamForStudent(Integer studentID);
	public List<StudentExam> gainFinishedStudentExamForStudent(Integer studentID);
	public List<StudentExam> gainAbsentStudentExamForStudent(Integer studentID);
}
